package br.visao;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;

import br.modelo.Cidade;
import br.modelo.Zona;
import br.rn.CidadeRN;
import br.rn.ZonaRN;
import br.util.Mensagem;


@ManagedBean
@RequestScoped
public class ZonaBean {
	private Zona zonaSelecionada;
	private List<SelectItem> cidadeSelect;
	private List<Cidade> listaCidades;
	private List<Zona> listaZonas;
	private Mensagem mensagem;
	private ZonaRN zonaRN;
	private CidadeRN cidadeRN;
	public ZonaBean() {
	}

	@PostConstruct
	public void setUp() {
		cidadeSelect = null;
		listaCidades = null;
		zonaSelecionada = new Zona();
		mensagem = new Mensagem();
		zonaRN = new ZonaRN();
		cidadeRN = new CidadeRN();
	}

	public void salvar() {
	
		if (zonaSelecionada.getCidade() == null || zonaSelecionada.getZona() == null || zonaSelecionada.getZona() == 0 ) {
			mensagem.msgPreencheCampos();
		}else{
			zonaRN.salvar(zonaSelecionada);
			mensagem.msgDadosInseridos();
		}
		
	}

	public List<SelectItem> getCidadeSelect() {
		if (this.cidadeSelect == null){
			cidadeSelect = new ArrayList<SelectItem>();
			listaCidades = cidadeRN.listar();
			if(listaCidades != null && !listaCidades.isEmpty()){
				SelectItem item;
					for (Cidade cidadesLista : listaCidades) {
					item = new SelectItem(cidadesLista, cidadesLista.getNome());
					cidadeSelect.add(item);
				}
			}
		}
		return cidadeSelect;
	}

	public List<Cidade> getListaCidades() {
		return listaCidades;
	}



	public Zona getZonaSelecionada() {
		return zonaSelecionada;
	}

	public void setZonaSelecionada(Zona zonaSelecionada) {
		this.zonaSelecionada = zonaSelecionada;
	}

	public List<Zona> getListaZonas() {
		listaZonas = zonaRN.listar();
		return listaZonas;
	}

	
		

	
}



